# 作者：薛丰坤
# 2025年06月04日17时51分20秒
# 2634661037@qq.com
class HouseItem:
    def __init__(self, name, area):
        self.name = name
        self.area = area

    def __str__(self):
        return "[%s] 占地 %.2f" % (self.name, self.area)


class House:
    def __init__(self, house_type, area):
        self.house_type = house_type
        self.area = area
        self.free_area = area
        self.item_list = []

    def __str__(self):
        # python 能够自己的将一对括号内部的代码连接在一起
        return ("户型： %s\n总面积：%.2f[剩余：%.2f]\n家具：%s"
                % (self.house_type, self.area, self.free_area, self.item_list))

    def add_item(self, item: HouseItem) -> None:
        """HouseItem注解方便高效写代码"""
        print("要添加 %s" % item)
        # 判断家具是否大于剩余面积
        if item.area > self.free_area:
            print("%s 的面积太大， 不能添加到房子中去" % item.area)

            return
        # 将家具的名称追加到名称列表中去
        self.item_list.append(item.name)

        # 计算剩余面积
        self.free_area -= item.area


# 实例化对象
if __name__ == '__main__':

    bed = HouseItem('席梦思', 4)
    chest = HouseItem('衣柜', 4)
    table = HouseItem('餐桌', 1.5)
    print(chest)
    house = House('两室一厅', 60)
    house.add_item(bed)
    print(house)





